画布 1
用户接口
  用户工作环境
    用户工作环境的形成
      (1) 系统提供各种硬件、软件资源
      (2) 系统设计并提供使用方便的命令集合
      (3) 系统将OS装入计算机并初始化，形成可供使用的工作环境(OS使用硬件工作环境,用户使用OS工作环境)
      提供资源,设计命令集合,接着装载OS,用户工作环境就形成了
      将操作系统的必要部分装入主存并对OS进行初始化,最后使操作系统处于命令接受状态
    系统引导的方式
      现场独立引导方式(滚雪球方式)
        OS核心文件在系统本身的存储设备中
      辅助下装模式
        OS的主要文件在系统启动后从另外的计算机系统中获得操作系统的常驻部分
    独立引导方式
      系统加电,CPU初始化
      BIOS启动固件(恒定在某个内存区域)将磁盘重的操作系统引导程序加载到空闲区间里面,转操作系统引导程序执行(主引导记录)
      加载程序会将操作系统的代码和数据加载到内存中,接着转操作系统运行(跳转到操作系统的起始地址)
      接着操作系统核心初始化各种系统结构和参数
      最后系统初始化,装在命令处理程序或者图形用户界面,并初始化.
    LInux引导方式(略)
    系统生成
      就是编译并且链接出来一个操作系统
        所谓系统生成，就是指为了满足物理设备的约束和需要的系统功能，通过组装一批模块来产生一个清晰的、使用方便的操作系统的过程。
  运行一个应用程序的过程
    步骤
      首先获得一个源程序
      将源程序编译或者汇编成一个目标模块
      将这个目标模块与其他需要的子程序和例行程序的目标模块连接装配在一起获得可运行文件
      将可运行文件放入主存,启动运行
    连接类型
      静态连接
        一个源程序经编译后，生成一个可重定位的目标模块，并产生内部符号表和外部符号表，供连接程序 (Link)使用。
        内部符号表:本模块可以被其他程序调用的入口地址
        外部符号表:本模块要调用的外部程序模块名
        连接
          将各模块连接成为一个整体；
          构造全程符号表，在其中填写模块的逻辑地址；全程符号表记录了完整的用户程序里面的所有符号的逻辑地址,是每个模块的内部符号表的集合.
          查找各程序段的外部调用表，填入对应调用函数的地址。
      动态连接
        动态连接不需要将外部函数链接到目标文件中。而是在应用程序中需要调用外部函数的地方作记录，并说明要使用的外部函数名和引用入口号。
        DLL,动态连接库
  操作系统用户界面
    定义
      操作系统的用户界面 (或称接口) 是操作系统提供给用户与计算机打交道的外部机制。用户能够借助这种机制和系统提供的手段来控制用户所在的系统。
    用户界面
      操作界面(命令界面)
        命令行
          作业控制语言(批处理系统)
            (1) 一种命令语言，包括作业处理命令和资源请求命令
            (2) 脱机方式下系统提供作业控制语言
          键盘命令(分时操作系统)
            为联机用户提供的操作命令,用户通过这一组命令直接控制和干预程序执行,现代操作系统的命令行命令.
        可视化图形系统
      系统功能服务界面(程序接口)
  系统功能调用
    操作系统提供实现了各种功能的例行子程序
    调用操作系统服务功能的方法
      统一进管的方式(使用访管指令调用系统调用)[svc n],程序调用svc指令即可调用操作系统的系统调用,n代表调用什么样的系统调用.
      然后当处理机执行到访管指令时发生中断，该中断称为访管中断，它表示正在运行的程序对操作系统的某种需求。
    系统调用的顺序
      首先用户程序调用svc命令
      启动访管中断
      进入访管中断的处理程序
      接着在中断处理程序里面根据n的值转移到不同的例行子程序.执行对应的例行子程序.例行子程序会执行用户程序请求的系统调用
      例行子程序执行完毕回到访管中断,再回到用户程序
      用户程序->访管中断处理程序->例行子程序.(函数调用顺序)
    系统调用的特点
      每个系统调用对应一个系统调用号
      每个系统调用有一个对应的执行程序段
      每个系统调用要求一定数量的输入参数和返回值
      整个系统有一个系统调用执行程序入口地址表